package com.xoa.service.url.impl;

import com.xoa.dao.url.UrlMapper;
import com.xoa.model.url.Url;
import com.xoa.model.users.Users;
import com.xoa.service.url.UrlService;
import com.xoa.util.CookiesUtil;
import com.xoa.util.ToJson;
import com.xoa.util.common.StringUtils;
import com.xoa.util.common.session.SessionUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * Created by gsb on 2017/6/20.
 */
@Service
public class UrlServiceImpl implements UrlService {
    @Resource
    private UrlMapper urlMapper;


    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年6月21日 上午9:42:39
     * 类介绍  :   添加个人地址信息
     * 构造参数:
     */
    @Override
    public void insertUrl(Url url) {
        urlMapper.insertUrl(url);
    }

    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年6月21日 上午9:42:39
     * 类介绍  :   个人地址信息查询
     * 构造参数:
     */
    @Override
    public List<Url> selectData(Url url) {
        List<Url> list = urlMapper.selectData(url);
        return list;

    }

    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年6月21日 上午9:42:39
     * 类介绍  :   个人地址单条信息查询
     * 构造参数:
     */
    @Override
    public Url selectByUrlId(HttpServletRequest request,Integer urlId){
        ToJson<Url> json = new ToJson<Url>(1, "error");
            Url url = urlMapper.selectByUrlId(urlId);
            if (url!=null) {
                json.setObject(url);
                json.setMsg("ok");
                json.setFlag(0);
            } else {
                json.setMsg("数据为空");
                json.setFlag(0);
            }
          return url;

    }

    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年6月21日 上午9:42:39
     * 类介绍  :   个人网址信息根据ID删除
     * 构造参数:
     */
    @Override
    public void deleteData(Integer urlId) {
        urlMapper.deleteData(urlId);
    }

    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年6月21日 上午9:42:39
     * 类介绍  :   个人网址信息全部删除
     * 构造参数:
     */
    @Override
    public  void deleteAll(){
        urlMapper.deleteAll();
    }

    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年6月21日 上午9:42:39
     * 类介绍  :   个人网址信息修改
     * 构造参数:
     */
    @Override
    public void updateUrl(Url url) {
        urlMapper.updateUrl(url);
    }

    /**
     * @param url
     * @param request
     * @创建作者: 韩成冰
     * @创建日期: 2017/7/3 17:01
     * @函数介绍: 添加我的网址
     * @参数说明: @param request
     * @参数说明: @param url
     * @return: void
     */
    @Override
    public void addUrl(Url url, HttpServletRequest request) {
        //获取登录用户
        Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
        Users users = SessionUtils.getSessionInfo(request.getSession(), Users.class, new Users(),redisSessionCookie);
        String userId = users.getUserId();
        if (StringUtils.checkNull(url.getSubType())) {
            url.setSubType("");
        }
        //网址对应图片设置为null,
        url.setUrlIcon("");
//        url.setUrlType("1");
        url.setUser(userId);
        urlMapper.insertSelective(url);
    }
}

